


//阿里云
export function uploadAli() {
    let OSS = require("ali-oss");
    let config = {
        region: "jhh-bucket.oss-cn-hangzhou",
        secure: true,
        accessKeyId: "LTAI4GHYmssJGPNHK8tdEnGT",
        accessKeySecret: "L4usUJ4VrbTIT6B9nDICd1zNuakNMQ",
        bucket: "jhh-bucket"
    };
    //配置
    let init = () => {
        return new OSS(config);
    };
    /** 
 * 生成uuid
 */
    let guid = () => {
        let S4 = () => {
            return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
        }
        return (S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4());
    }
    //修改文件名字
    let fileName = file => {
        let arr = file.name.split(".");
        var uuid = "oss" + guid();
        if (arr.length > 1) {
            return uuid + "." + arr[arr.length - 1];
        } else {
            return uuid;
        }
    };
    return {
        //上传文件
        ossPut: (file) => {
            return new Promise((resolve, reject) => {
                let objectName = fileName(file);
                init().put(objectName, file).then(({ res, url }) => {
                    if (res && res.status == 200) {
                        console.log('阿里云OSS上传文件成功回调', res, url);
                        resolve(res, url);
                    }
                }).catch((err) => {
                    console.log('阿里云OSS上传文件失败回调', err);
                    reject(err)
                });
            })
        },
        //下载文件
        ossGet: (name) => {
            return new Promise((resolve, reject) => {
                init().get(name).then(({ res }) => {
                    if (res && res.status == 200) {
                        console.log('阿里云OSS下载文件成功回调', res);
                        resolve(res);
                    }
                }).catch((err) => {
                    console.log('阿里云OSS下载文件失败回调', err);
                    reject(err)
                });
            })
        }
    }
}

/* //腾讯云,属性无响应式,只是单向数据流
export async function uploadTx(params, { fileList, currentFileUid, showPercent, percent }) {
    return cos.putObject({
        Bucket: 'jhh-cos-1302617832', // 存储桶
        Region: 'ap-nanjing', // 地域
        Key: params.file.name, // 文件名
        Body: params.file, // 要上传的文件对象
        StorageClass: 'STANDARD' // 上传的模式类型 直接默认 标准模式即可
        // 上传到腾讯云 =》 哪个存储桶 哪个地域的存储桶 文件  格式  名称 回调
    }, (err, data) => {
        // data返回数据之后 应该如何处理
        console.log(err || data)
        //   此时说明文件上传成功  要获取成功的返回地址
        // fileList才能显示到上传组件上 此时我们要将fileList中的数据的url地址变成 现在上传成功的地址
        // 目前虽然是一张图片 但是请注意 我们的fileList是一个数组
        // 需要知道当前上传成功的是哪一张图片
        fileList = fileList.map(item => {
            // 去找谁的uid等于刚刚记录下来的id
            if (item.uid === currentFileUid) {
                // 将成功的地址赋值给原来的url属性
                return { url: 'http://' + data.Location, upload: true }
                // upload 为true 表示这张图片已经上传完毕 这个属性要为我们后期应用的时候做标记
                // 保存  => 图片有大有小 => 上传速度有快又慢 =>要根据有没有upload这个标记来决定是否去保存
            }
            return item
        })
        setTimeout(() => {
            showPercent = false; // 隐藏进度条
            percent = 0 // 进度归0
        }, 2000)
    })
} */
